The present invention relates to a computer controlled, bar code scanner apparatus and a method of scanning and, more particularly, to such scanning apparatus and to such a method in which bar code labels of the type including supplemental encodations, termed "Add-On" code portions or segments, are rapidly and reliably scanned without the need for operator adjustment of the scanner apparatus.
Bar code labels are used on a broad range of retail packages and products for check-out and inventory purposes. A scanner, located for example at the check-out station in a retail establishment, is used by a clerk to enter product identification data into an associated computer system.
Typically, a scanner of this type includes a laser source, such as a gas discharge laser or a laser diode, which produces a low power laser beam. The beam passes through appropriate optical lenses and is swept across the package surface by a motor-driven, rotating mirror assembly. In some scanners, the package bearing a bar code label is presented manually to the stationary scanner by a clerk. In other scanners, the scanner is designed to be held by the clerk, and aimed generally at the package. In either event, a portion of the light reflected from the package surface returns through the optical lenses to a detector which provides an electrical signal in dependence upon the level of the reflected light. A signal processing system then analyses the electrical signal produced as the beam sweeps over the bar code label, decoding the encoded scan data.
The scan data may then be transmitted to a host computer or terminal, which determines the total price of the products being purchased, as well as storing the identity of the purchased products for inventory and accounting purposes. The host computer or terminal may be dedicated to a single scanner. Alternatively, a single host computer or terminal may service a number of scanners at the retail establishment.
A number of different bar codes have come into use. The more common ones are generally horizontal in design with alternating vertical dark bars and light spaces therebetween. Groupings of dark bars and light spaces make up the bar code characters. The height of the bars has no purpose other than to permit a scanning beam to successfully pass over the entire length of at least one of the bar code portions or segments to permit reading the portion or segment in one scanning pass. A segment is a set of characters that forms a portion of a valid label. A UPC-A label contains two segments, a left UPC-A segment containing six characters and a right UPC-A segment containing six characters. An EAN 13 label contains two segments, a left EAN 13 segment, containing seven characters and a right EAN 13 segment containing six characters. An EAN 8 label contains two segments, a left EAN 8 segment containing four characters and a right EAN 8 segment containing four characters. A UPC-E label contains one segment having six characters. Common codes include Code Three of Nine, Two of Five, Codabar, Two of Five Non-Interleaved, Two of Five Interleaved, UPC-A, UPC-E, EAN 13, and EAN 8.
The boundaries of segments are distinct bar and space patterns referred to as "guard," "margin," and "center-band" patterns. The guard or margin pattern is the start pattern and the center-band pattern is the stop pattern of a left half segment. The center-band pattern is the start pattern and the guard or margin pattern is the stop pattern of a right half segment.
Also in use is a two or five character "Add-On" supplemental code portion for UPC and EAN labels. An Add-On supplemental code portion is simply an additional grouping of bars and spaces, to one side of the primary bar code portion, which includes additional data to be read by the scanner. The Add-On contains only one bounding pattern, an Add-On guard pattern on the side of the Add-On portion adjacent to the main label. The side of the Add-On portion facing away from the main label portion is unbounded. Add-On code portions are supplemental encodations which were designed principally for use on periodicals and paperback books. Generally, nothing in the main portion of the label indicates whether a Add-On portion is included in the label.
Used in conjunction with the UPC symbol, they satisfy a number of requirements. For UPC-A, EAN 8, EAN 13 and UPC-E symbols, the first bar of the supplemental encodation symbol is separated by a margin, which is nominally nine modules, from the last bar of the UPC symbol. The supplemental encodations are unlikely to be confused with UPC symbols for any existing scanner designs. The decode algorithm for the supplemental Add-On encodations is similar to that for the UPC code. The two character supplemental code was designed for periodical issue number.
Although compatible with the UPC symbol, an Add-On code portion is not mistaken for UPC symbols by scanners designed to read only standard UPC symbols because the Add-On code portion includes a unique guard pattern, and each character of the Add-On code portion is separated from the next character by a delineator character which is encoded 01 (each digit represents a module; "0" represents a light or white space of one module width and "1" represents a dark module or bar of one module width). The left-hand guard pattern for a supplemental Add-On portion is unique, encoded as 1011, differentiating it from the left-hand and right-hand guard bar patterns of the UPC which are encoded 101. A right-hand pattern for the Add-On code portion is not used.
A primary requirement for high volume transaction laser scanners is to operate in a way that the store check-out clerk does not have to worry about the label orientation as the product label is passed over the scanner. The basic function of the scan pattern generating arrangement associated with a scanner is to move the beam of laser light repetitively through a three dimensional pattern. In this way, the scanner is capable of finding and reading labels in as many label orientations as possible.
Since previously it was desired, and in some scanner systems required, that the scanning beam sweep across all of the portions of the label in a single pass, bar code labels including an Add-On code portion present a particularly difficult problem. Such labels have a high aspect ratio, i.e., the ratio of their horizontal dimension to their vertical dimension is particularly large. As a consequence, the range of the orientation of the scan path of the scanning beam of light which has produced a successful read of such labels in prior art systems is more limited than is the case with labels which do not include an Add-On code portion. If a primary code area were read by a conventional scanner and no Add-On code portion were read during the same scanning pass, this might have resulted from the particular orientation of the bar code label with respect to the scan path. Alternatively, this may have resulted from reading a bar code label which did not include an Add-On code portion.
Previously, the approach has been for the clerk operating a scanner to switch the scanner to a special setting when labels having an Add-On code portion were to be read. In this setting, the scanner would acknowledge a valid "read" only when one or two segments of the primary code portion and the Add-On supplemental code portion of a label were both read in the same scanning pass of the beam. When switched to the normal scanner setting, the scanner would read the primary code portion and ignore the Add-On code portion as superfluous.
As will be appreciated, switching the scanner back and forth is time consuming and burdensome. Further, the possibility exists for an erroneous reading of a label in the event that the scanner is switched to the wrong setting.
In other prior systems, it has been required that an Add-On code portion be scanned in the same scanning pass as at least one segment of the primary code portion of the label. As a result, the operation of the scanner was slowed somewhat, and the likelihood of a successful reading of a label reduced.
Accordingly, there is a need for a scanner and a method of scanning in which bar code labels may be read automatically, whether or not they include an Add-On code portion, and in which an Add-On code portion can be quickly recognized and read without simultaneously reading the primary code portion of the label.